Topics in bold were added.

 

Module 1 Basic Concepts (1 week)

1.1 Data, Information, Knowledge, Wisdom

1.2: Brief History of Computing

 

Module 2: Data Representation in a Computer (1 week)

2.1 Number Representation in Different Numeral Systems

2.2 Units of Information & Binary Number System

 

Module 3: Computer Systems (2 weeks)

3.1 Computer Architecture Hardware and Software (make sure to touch on machine instruction)

3.2 Operating Systems (processes, manage resources, file systems, possibly assembler instructions here).

 

Module 4: Learning to Program (3 weeks)

4.1 C Programming Language (why not just program using machine instructions?).

4.2 Compiling a program (C++ instructions vs assembler instructions vs machine instructions)

4.2 Program execution (line by line etc…)

4.3 Variables

4.4 If statements

4.5 Looping

4.6 Simple functions

4.7 Overview of object-oriented programming

4.8 Testing programs. Describe why quality assurance is important (QA).

4.9 Different programming languages (Java etc…

4.8 Description of programming related jobs

 

Module 5: Computer Networking (1 week)

5.1 Introduction to Networking

5.2 Introduction to Internet

5.3 Introduction to Client Server Model

5.4 Network administration overview

5.5 Description of networking related jobs

 

Module 6: Database (1 week)

5.1 Why bother with a database if we could just use a flat file?

5.2 Very simple normalization examples

5.3 SQL overview (basic select statements)

5.4 Data warehousing. Normal database (OLTP) vs data warehouse.

5.5 Description of database related jobs. Data modeler, Database Programmer, Database Administrator

 

Module 7: (Mobile Computing) or (Mobile and Cloud Computing (1 week)

7.1 Issues for mobile computing (low resources – battery, memory)

7.2 Android vs iOS

7.3 Storing data in the cloud

7.4 Possibly write a hello world app in Eclipse w/Android (need lab to be setup for this but software is all free).

 

Module 8: Security (1 week)

8.1 Overview

8.2 Basic types of attacks

8.3 Encryption

8.4 Possibly write an elementary encryption algorithm in C++. For example, take the ASCII code of each character in a file and add 3 to it.

 

Module 9: Program specific topic(s) (1 or 2 weeks)

We could build in one or two weeks at the end of the semester for each school to choose a topic that is more geared towards their program. This will be in support of our semi-standardized goal. Here are some example topics:

a. Data Structures (very general description, basic operations of some data structures)

b. Artificial Intelligence

c. Systems Analysis and Design

d. Management Information Systems

e. Web Programming (HTML, CSS, PHP, MYSQL)

f. Basic Computability Theory

g. Parallel Computing

h. Object-oriented programming (more in depth)

i. Application software (Excel, Access)

j. More C++ programming

k. Introduce another programming language (for example Java)

l. Unix/Linux overview (basic commands)

m. Discrete Mathematics overview (sets, relations, basic proofs)

n. Virtualization

o. Big Data

p. Ethics

q. Go more in depth with one of the topics already covered.